package com.lingxu.base.system.manage.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.lingxu.base.system.manage.entity.SysUser;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @Description: 部门信息表
 * @Author: zhujc
 * @Date:   2021-06-17
 * @Version: V1.0.1
 */
@Data
@TableName("sys_depart")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="sys_depart对象", description="部门信息表")
public class SysDepartRes implements Serializable{
    
	/**主键*/
	@TableId(type = IdType.ASSIGN_UUID)
    @ApiModelProperty(value = "主键")
	private String id;
	/**上级部门*/
    @ApiModelProperty(value = "上级部门")
	private String pid;
	/**单位主键*/
    @ApiModelProperty(value = "单位主键")
	private String orgId;
	/**单位代码*/
    @ApiModelProperty(value = "单位代码")
	private String orgCode;
	/**部门代码*/
    @ApiModelProperty(value = "部门代码")
	private String code;
	/**部门名称*/
    @ApiModelProperty(value = "部门名称")
	private String name;
	/**部门简称*/
    @ApiModelProperty(value = "部门简称")
	private String simpleName;
	/**描述*/
    @ApiModelProperty(value = "描述")
	private String description;
	/**联系人*/
	@ApiModelProperty(value = "联系人")
	private String linkPerson;
	/**联系电话*/
    @ApiModelProperty(value = "联系电话")
	private String telephone;
	/**备注*/
    @ApiModelProperty(value = "备注")
	private String remark;
	/**排序*/
    @ApiModelProperty(value = "排序")
	private Double sortNum;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间",hidden = true)
	private Date createTime;
	/**创建人*/
    @ApiModelProperty(value = "创建人",hidden = true)
	private String createBy;
	/**更新时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间",hidden = true)
	private Date updateTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人",hidden = true)
	private String updateBy;
	/**删除标记位*/
    @ApiModelProperty(value = "删除标记位",hidden = true)
	private String isDel;
	/**邮箱地址*/
    @ApiModelProperty(value = "邮箱地址")
	private String email;
	/**部门负责人*/
	@ApiModelProperty(value = "部门负责人")
	private String chargeUserId;
	/**部门副职*/
	@ApiModelProperty(value = "部门副职")
	private String leadershipUserId;
	/**分管领导*/
	@ApiModelProperty(value = "分管领导")
	private String fenLeaderUserId;

	/**所属用户列表*/
	@TableField(exist = false)
	@ApiModelProperty(value = "所属用户列表",hidden = true)
	private List<SysUser> modeList;

}
